Information Compression اطالعات 4-1-72-1 بخشششم دانشگاهشهيدبهشتی پژوهشکدهیفضایمجازی پاييز 1396 احمدمحمودیازناوه http://faculties.sbu.ac.ir/~a_mahmoudi/
فهرستمطالب تبديلکسينوسیصحيح تصاويرپايه ويژگیها پردازشبلوکیتصاوير چندیکردنضرائب) quantization ( استاندارد JPEG 2
تبديلکسينوسیگسسته يکسيگنال N نمونهای ( x(n مفروضاست: y n x n x 2N 1 n x n n N 1 y n x 2N 1 n N n 2N 1 Otherwise x n x 2N 1 n DFT y n? 3
تبديلکسينوسیگسسته)ادامه...( 4
متناوبکردنتصوير 5
تبديلکسينوسیگسسته 2 1 2 1 N 1N 1 1 2 1, 2 1, 2, cos.cos ; m n 2N 2N C k k α k k f m n k N 1, k N 1, 1 2 π m k π n k 2 1 2 1 N 1N 1 1 2, 1, 2 1, 2 cos.cos ; m n 2N 2N f m n α k k C k k n N 1, m N 1 π m k π n k 1 k1 k2 N 1 N 1 α k1, k2 k2 k1 N 1 N 2 k1 N 1 k2 N 1 N 6
تصاويرپايه تصاويرپايهیکسينوسیبرایيکبلوک 8x8 7
مثال ضرايب AC DC + y y 1 y 1 y 12 y 23 8
و FFT DCT برای تصوير ابتدا تصوير به»بلوکهای ناهمپوشان«تقسيم شده و سپس مؤلفههای کماهميت هر بلوک در فضای تبديل حذف میشوند. 9
و FFT DCT 1
DFT تغييراتناگهانیلبه )معادلفرکانسباال( DCT تغييراتنرم 11
مقاديرضرايبدر DCT حقيقیولیدر DFT مختلطند تقريببهتردر DCT بااستفادهازضرايبکمتر FFT /DCT http://www.cs.cf.ac.uk/dave/multimedia/node231.html 12
اهميتنسبیضرايبتبديلکسينوسی 13
f = imread('cameraman.tif'); imshow(f,[ ]); J = dct2(f); figure; imshow(log(abs(j)),[ ]), colormap(gray), colorbar;title('dct2'); figure imshow(log(abs(j)),[ ]), colormap(jet(64)), colorbar;title('dct2'); K = idct2(j); figure;imshow(k,[ ]); مثال 14
f = imread('cameraman.tif'); imshow(f,[]); J = dct2(f); a=ones(size(f)); a(:,(size(f,2)/2):end)=; J2=J.*a; figure;imshow(log(abs(j2)),[]); K = idct2(j2); figure;imshow(uint8(k),[]); Diff=f-uint8(K); figure;imshow(diff,[]); مثال 15
f = imread('cameraman.tif'); imshow(f,[]); J = dct2(f); a=ones(size(f)); a((size(f,2)/2):end,:)=; J2=J.*a; figure;imshow(log(abs(j2)),[]); K = idct2(j2); figure;imshow(uint8(k),[]); Diff=f-uint8(K); figure;imshow(diff,[]); مثال 16
f = imread('cameraman.tif'); imshow(f,[ ]); J = dct2(f); a=ones(size(f)); a((size(f,2)/2):end,(size(f,2)/2):end) =; J2=J.*a; figure;imshow(log(abs(j2)),[ ]); K = idct2(j2); figure;imshow(uint8(k),[ ]); Diff=f-uint8(K); figure;imshow(diff,[ ]); مثال 17
f = imread('cameraman.tif'); imshow(f,[]); J = dct2(f); figure;imshow(log(abs(j)),[]); a=zeros(size(f)); for i=1:size(f,2)/2 for j=1:((size(f,2)/2)-i) a(i,j)=1; end end J2=J.*a; figure;imshow(log(abs(j2)),[]); K = idct2(j2); figure;imshow(uint8(k),[]); Diff=f-uint8(K); figure;imshow(diff,[]); مثال 18
یدنب کولب رد یرايسب زا اه دربراک رد شزادرپ ريوصت یدنب کولب ريوصت ماجنا هدش و سپ زا نآ ره کولب دروم شزادرپ رارق.دريگ یم نيا هلأسم ببس دوش یم ناوتب هب تروص یزاوم هب یور یاه شخب یرت کچوک زا ريوصت شزادرپ نامز مه تروص.داد متسيس هدزاب شيازفا تعرس هتفاي شزادرپ.دور یم لااب لاومعم ی هزادنا اه کولب یناوت زا ود.تسا هتسب هب دربراک هزادنا زا 2 2 و ريغتم رتلااب.تسا رد رتشيب دراوم )اه درادناتسا( ی هزادنا 8 8 اه کولب رد رظن هتفرگ.دوش یم Blocking یزاس هدرشف 19
siz=8; I = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[ ]); figure;imagesc(j), colormap(jet); fun = @idct2; I2 = blkproc(j,[siz siz],fun); figure;imshow(i2,[ ]); مثال 2
siz=16; I = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[ ]); figure;imagesc(j), colormap(jet); fun = @idct2; I2 = blkproc(j,[siz siz],fun); figure;imshow(i2,[ ]); 21
siz=16; I = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[]); figure;imagesc(j), colormap(hot); a=ones(siz);a(3:siz,3:siz)=; figure;imshow(a,[]); fun = @(x) (x).*a; J2 = blkproc(j,[siz siz],fun); figure;imagesc(j2), colormap(hot); fun = @idct2; I2 = blkproc(j2,[siz siz],fun); figure;imshow(i2,[]); 22
مثال 8x8 block implementation 23
siz=16;i = imread('cameraman.tif'); fun = @dct2; J = blkproc(i,[siz siz],fun); figure;imshow(i,[]); figure;imagesc(j), colormap(hot); a=zeros(siz);a(1:2,1:2)=1; figure;imshow(a,[]); fun = @(x) (x).*a; J2 = blkproc(j,[siz siz],fun); figure;imagesc(j2), colormap(hot); fun = @idct2; I2 = blkproc(j2,[siz siz],fun); figure;imshow(i2,[]); 24
کدگذاریدامنهیتبديل مراحل اعمالتبديلبهرویتصوير کدگذاریضرايبتبديل ارسالدادهها بازسازیتصويربااستفادهازدادههایارسالی مزايا انرژیدرضرايبمحدودیفشردهشدهاست. مقاومتدربرابرخطاهایکانالارسالی 25
کدگذاری کدگذاری ناحيهای) Coding )Zonal تنهاناحيهایازضرايبارسالمیشود. باشد. آستانهای) Coding )Threshold تنهاضرايبیارسالمیشودکهازميزانآستانهباالتر Zonal Coding 26
12 134 24 17 145 145 23 25 16 234 23 18 23 24 28 19 36.25 14.8835-114.75-45.3384 1.27 62.2961-1.1577 3.175-111.75-6.299 99.25 5.445-55.7716 26.175-7.3678-16.7961 Compression!!! 27
هب ی هليسو یدنچ ندرک زا تقد بيارض یسونيسک هتساک دوش یم هب یا هنوگ هک ليدبت هب ريداقم حيحص.دندرگ نيا هلاسم ثعاب دوش یم هک یرايسب زا بيارض یاه سناکرف لااب رفص هب ليدبت.دندرگ یا هناتسآ هک اب هدافتسا زا نآ یدنچ ندش تروص دريذپ یم یا هنوگ هب باختنا دوش یم هک هجيتن ی یزاسزاب ات دح نکمم یارب مشچ ناسنا لباق تيور.دشابن ندرک یدنچ Quantization یزاس هدرشف 28
Quantization= 4 مثال ضرايبکسينوسی محدودهیچندینمودن ضرايبچندیشده ضرايببازسازیشده 29
ضرايب DCT ماتريسچندیکننده ماتريسنتيجهیچندی شده ماتريسچندیکننده استانداردبرایبازسازی استفادهخواهدشد. 3
مراحلالگوريتم JPEG بلوکبندیتصاوير f i (m, n) زيرتصويرهای 8 8 f(m, تصوير( n [,2 L فرضمیکنيممقاديرروشنايی[ 1 - g i f i هر بارابطهیزيربه تبديلمیشود: g i (m, n)=f i (m, n)-2 L-1 31
مراحلالگوريتم JPEG )ادامه...( چگونگیالگوريتم بلوکبندیتصوير اعمالتبديلگسستهیکسينوسی چندینمودنضرايب پويشزيگزاگضرايب کدگذاریآنتروپی ارسال 32
مراحلالگوريتم jpeg )ادامه...( n) g i (m, ورودیتبديل DCT هستندکهنتيجهای همانند( D i (k 1, k 2 دارند. ماتريسچندیکنندهایدرنظرگرفتهشدهرابطهی زيربهدستمیآيد: D ( 1, 2) ( k 1, k Di k k iq 2) round [ ] T ( k 1, k 2) مرتبنمودنزيگزاگ رمزگذاریمقادير DC AC ميزانريزش 33
پويشضرايب پويشضرايببهصورتزيگزاگصورتمیپذيرد 34
کدگذاریمؤلفههای DC اختالفمولفههای DC بلوکهای متوالیکدمیشوند 35
Differential Pulse Code Modulation (DPCM) f (n) f (n) n f ( n) 156,157,158,158,156,156,154,154,155 f( n) 156,1,1,, 2,, 2,,1 n 36
Run-Level coding دراينشيوهیکدنمودنازتعدادصفرهاوعناصر غيرصفراستفادهمیشود: 12-33 -3-4 -2-1 21-3 2 1-2 -2-3 1-1 1 [-33, 21, -3, -2, -3, -4, -3,, 2, 1,, 1,, -2, -1, -1,,,, -2,,,,,,,,,,,, 1,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,] (,-33) (,21) (,-3) (,-2) (,3)(,-4) (,-3) (1,2) (,1) (1,1) (1,-2) (,-1) (,-1) (3,-2) (11,1) 37
(RUN, CAT) CAT is the category for the amplitude of a nonzero coefficient in the zigzag order, and RUN is the number of zeros preceding this nonzero coefficient 38
گروهبندیمقادير Table is from slides at Gonzalez/ Woods DIP book website (Chapter 8) 39
Gonzalez, R. C. and R. E. Woods (22). Digital image processing Table is from slides at Gonzalez/ Woods DIP book website (Chapter 8) ضرايب DC ضرايب AC 4
Codeword for the DC coefficient DIFF = 31-28 = 3 CAT = 2 مثال DC CAT is 1 DIFF = 3 > the DC coefficient is 111 Codeword for the AC coefficients AC=18 the codeword for (, 5) is 111 11111 AC=-21 the codeword for (, 5) is 111 11111 AC 41
مثال Ghanbari, M. a (23). Standard codecs: image compression to advanced video coding, Institution of Electrical Engineers. قطاربيتارسالیبرایضرايب AC تعدادبيتهایارسالی 85 بيت 42
43
44
مقايسهیتصوير نآ برایمقايسهیتصويربهترينمعيارمشاهدهی است MSE M 1N 1 m n f ( m, n) fˆ( m, n) MN 2 معيارکيفیاست وابستهبهاحساسبشر معيارکمی مجموعمربعاتخطا) MSE ( نسبتتوانسيگنالبهنويز) SNR ( SNR M 1N 1 m n M 1N 1 m n f ( m, n) f ( m, n) fˆ( m, n) 2 2 45
Quality Metrics PSNR peak signal-to-noise ratio پاسخبرپايهی db است PSNR 2 255 1 log( ) MSE بهصورتکلیاگرهرپيکسلرابا B بيتبتوان نشانداد فرمولمذکوربهصورتزيرتغيير مینمايد PSNR B 2 (2 1) 1 log( ) MSE 46
آيا PSNR معيارخوبیاست MSE=1.6 MSE=48.82 47
PSNR=22.78 PSNR=22.97 48 PSNR=22.87
استاندارهایجديد 49
استاندارهایجديد The blocking, color banding and aliasing artifacts of heavily compressed JPEG (left), while the heavily compressed BPG (right) looks much smoother 5